+2000-12-20 Jonathan Blandford <jrb@redhat.com>
+
+ * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
+ calls, as they are no longer needed.
+
+ * gtk/gtktreemodelsort.c: Fix up the comparison code.
+
+ * gtk/gtktreemodel.h: Start work on ::reordered signal. Need to
+ figure out how to emit a signal on an interface.
+
2000-12-20 Havoc Pennington <hp@redhat.com>
* tests: new directory to contain tests, gtk/test* should move
+2000-12-20 Jonathan Blandford <jrb@redhat.com>
+
+ * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
+ calls, as they are no longer needed.
+
+ * gtk/gtktreemodelsort.c: Fix up the comparison code.
+
+ * gtk/gtktreemodel.h: Start work on ::reordered signal. Need to
+ figure out how to emit a signal on an interface.
+
2000-12-20 Havoc Pennington <hp@redhat.com>
* tests: new directory to contain tests, gtk/test* should move
+2000-12-20 Jonathan Blandford <jrb@redhat.com>
+
+ * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
+ calls, as they are no longer needed.
+
+ * gtk/gtktreemodelsort.c: Fix up the comparison code.
+
+ * gtk/gtktreemodel.h: Start work on ::reordered signal. Need to
+ figure out how to emit a signal on an interface.
+
2000-12-20 Havoc Pennington <hp@redhat.com>
* tests: new directory to contain tests, gtk/test* should move
+2000-12-20 Jonathan Blandford <jrb@redhat.com>
+
+ * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
+ calls, as they are no longer needed.
+
+ * gtk/gtktreemodelsort.c: Fix up the comparison code.
+
+ * gtk/gtktreemodel.h: Start work on ::reordered signal. Need to
+ figure out how to emit a signal on an interface.
+
2000-12-20 Havoc Pennington <hp@redhat.com>
* tests: new directory to contain tests, gtk/test* should move
+2000-12-20 Jonathan Blandford <jrb@redhat.com>
+
+ * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
+ calls, as they are no longer needed.
+
+ * gtk/gtktreemodelsort.c: Fix up the comparison code.
+
+ * gtk/gtktreemodel.h: Start work on ::reordered signal. Need to
+ figure out how to emit a signal on an interface.
+
2000-12-20 Havoc Pennington <hp@redhat.com>
* tests: new directory to contain tests, gtk/test* should move
+2000-12-20 Jonathan Blandford <jrb@redhat.com>
+
+ * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
+ calls, as they are no longer needed.
+
+ * gtk/gtktreemodelsort.c: Fix up the comparison code.
+
+ * gtk/gtktreemodel.h: Start work on ::reordered signal. Need to
+ figure out how to emit a signal on an interface.
+
2000-12-20 Havoc Pennington <hp@redhat.com>
* tests: new directory to contain tests, gtk/test* should move
+2000-12-20 Jonathan Blandford <jrb@redhat.com>
+
+ * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
+ calls, as they are no longer needed.
+
+ * gtk/gtktreemodelsort.c: Fix up the comparison code.
+
+ * gtk/gtktreemodel.h: Start work on ::reordered signal. Need to
+ figure out how to emit a signal on an interface.
+
2000-12-20 Havoc Pennington <hp@redhat.com>
* tests: new directory to contain tests, gtk/test* should move
switch (param_id)
{
case PROP_PIXBUF:
- g_value_init (value, G_TYPE_OBJECT);
g_value_set_object (value, G_OBJECT (cellpixbuf->pixbuf));
break;
default:
switch (param_id)
{
case PROP_TEXT:
- g_value_init (value, G_TYPE_STRING);
g_value_set_string (value, celltext->text);
break;
case PROP_STRIKETHROUGH:
- g_value_init (value, G_TYPE_BOOLEAN);
attr_iter = pango_attr_list_get_iterator (celltext->attr_list);
attr = pango_attr_iterator_get (attr_iter,
PANGO_ATTR_STRIKETHROUGH);
g_value_set_boolean (value, ((PangoAttrInt*) attr)->value);
break;
case PROP_UNDERLINE:
- g_value_init (value, G_TYPE_BOOLEAN);
g_value_set_boolean (value, celltext->underline);
break;
case PROP_EDITABLE:
- g_value_init (value, G_TYPE_BOOLEAN);
g_value_set_boolean (value, celltext->editable);
break;
default:
switch (param_id)
{
case PROP_STATE:
- g_value_init (value, G_TYPE_BOOLEAN);
g_value_set_boolean (value, celltoggle->state);
break;
case PROP_RADIO:
- g_value_init (value, G_TYPE_BOOLEAN);
g_value_set_boolean (value, celltoggle->radio);
break;
default:
sizeof (GtkTreeModelIface), /* class_size */
NULL, /* base_init */
NULL, /* base_finalize */
+ NULL,
+ NULL, /* class_finalize */
+ NULL, /* class_data */
+ 0,
+ 0, /* n_preallocs */
+ NULL
};
tree_model_type = g_type_register_static (G_TYPE_INTERFACE, "GtkTreeModel", &tree_model_info, 0);
GtkTreeIter *iter);
void (* deleted) (GtkTreeModel *tree_model,
GtkTreePath *path);
+ void (* reordered) (GtkTreeModel *tree_model,
+ GtkTreePath *path,
+ gint *new_order);
/* VTable - not signals */
guint (* get_flags) (GtkTreeModel *tree_model);
GtkTreeIter iter;
SortElt elt;
gint offset;
- gint middle, j;
- GValueCompareFunc func;
- GValue s_value = {0, };
- GValue tmp_value = {0, };
+ gint j;
SortElt *tmp_elt;
offset = gtk_tree_path_get_indices (s_path)[gtk_tree_path_get_depth (s_path) - 1];
g_array_insert_vals (array, index, &elt, 1);
- g_value_unset (&s_value);
-
/* update all the larger offsets */
tmp_elt = (SortElt *) array->data;
for (j = 0; j < array->len; j++, tmp_elt++)
gconstpointer b,
gpointer user_data)
{
- GValue value_a;
- GValue value_b;
+ GValue value_a = {0, };
+ GValue value_b = {0, };
SortData *sort_data = user_data;
gint retval;
gtk_tree_view_column_set_size (gtk_tree_view_get_column (GTK_TREE_VIEW (widget), tree_view->priv->drag_pos), new_width);
}
- /* FIXME: We need to scroll */
+ /* FIXME: Do we need to scroll */
_gtk_tree_view_set_size (GTK_TREE_VIEW (widget), -1, tree_view->priv->height);
return FALSE;
}
}
/* FIXME: It would be neat to someday make the headers a seperate widget that
- * can be shared between various apps
+ * can be shared between various apps. Wishful thinking, though...
*/
/* Returns TRUE if the focus is within the headers, after the focus operation is
* done
node_set (GtkTreeIter *iter)
{
static gint i = 0;
-
+ gint n;
gchar *str;
- str = g_strdup_printf ("FOO: %d", i++);
+ str = g_strdup_printf ("Row (%d)", i++);
gtk_tree_store_set (base_model, iter, 0, str, -1);
g_free (str);
- str = g_strdup_printf ("%d", g_random_int ());
+ n = g_random_int ();
+ if (n < 0)
+ n *= -1;
+ str = g_strdup_printf ("%d", n);
+
gtk_tree_store_set (base_model, iter, 1, str, -1);
g_free (str);
}
gtk_tree_store_insert_after (model,
&iter,
NULL,
- &selected);
+ NULL);
node_set (&iter);
}
}
/* A few to start */
if (!use_sort)
{
- iter_prepend (NULL, GTK_TREE_VIEW (tree_view));
- iter_prepend (NULL, GTK_TREE_VIEW (tree_view));
- iter_prepend (NULL, GTK_TREE_VIEW (tree_view));
- iter_prepend (NULL, GTK_TREE_VIEW (tree_view));
- iter_prepend (NULL, GTK_TREE_VIEW (tree_view));
- iter_prepend (NULL, GTK_TREE_VIEW (tree_view));
+ iter_append (NULL, GTK_TREE_VIEW (tree_view));
+ iter_append (NULL, GTK_TREE_VIEW (tree_view));
+ iter_append (NULL, GTK_TREE_VIEW (tree_view));
+ iter_append (NULL, GTK_TREE_VIEW (tree_view));
+ iter_append (NULL, GTK_TREE_VIEW (tree_view));
+ iter_append (NULL, GTK_TREE_VIEW (tree_view));
}
/* Show it all */
gtk_widget_show_all (window);
node_set (GtkTreeIter *iter)
{
static gint i = 0;
-
+ gint n;
gchar *str;
- str = g_strdup_printf ("FOO: %d", i++);
+ str = g_strdup_printf ("Row (%d)", i++);
gtk_tree_store_set (base_model, iter, 0, str, -1);
g_free (str);
- str = g_strdup_printf ("%d", g_random_int ());
+ n = g_random_int ();
+ if (n < 0)
+ n *= -1;
+ str = g_strdup_printf ("%d", n);
+
gtk_tree_store_set (base_model, iter, 1, str, -1);
g_free (str);
}
gtk_tree_store_insert_after (model,
&iter,
NULL,
- &selected);
+ NULL);
node_set (&iter);
}
}
/* A few to start */
if (!use_sort)
{
- iter_prepend (NULL, GTK_TREE_VIEW (tree_view));
- iter_prepend (NULL, GTK_TREE_VIEW (tree_view));
- iter_prepend (NULL, GTK_TREE_VIEW (tree_view));
- iter_prepend (NULL, GTK_TREE_VIEW (tree_view));
- iter_prepend (NULL, GTK_TREE_VIEW (tree_view));
- iter_prepend (NULL, GTK_TREE_VIEW (tree_view));
+ iter_append (NULL, GTK_TREE_VIEW (tree_view));
+ iter_append (NULL, GTK_TREE_VIEW (tree_view));
+ iter_append (NULL, GTK_TREE_VIEW (tree_view));
+ iter_append (NULL, GTK_TREE_VIEW (tree_view));
+ iter_append (NULL, GTK_TREE_VIEW (tree_view));
+ iter_append (NULL, GTK_TREE_VIEW (tree_view));
}
/* Show it all */
gtk_widget_show_all (window);